package exception;

/*public class FinallyDemo3 {
    public static void main(String[] args) {
        System.out.println(
                test("o")+","+test(null)+","+test("")
        );

    }
    public static int test(String str){

        */
/*try {
            return str.charAt(0)-'o';
        } catch (NullPointerException e) {
            return 1;
        }catch (Exception e){
            return 2;
        }*/
/*
        try {
            return str.charAt(0)-'o';
        } catch (NullPointerException e) {
            return 1;
        }catch (Exception e){
            return 2;
        }finally {
            return 3;
        }
    }
}*/


/**
 *  请分别说明:final,finally,finalize是什么?
 *  finalize是Object中定义的一个方法，当垃圾回收器准备回收对象时，会调用该对象的finalize方法
 *  finalize是一个对象生命周期中的最后一个方法，API手册对该方法有明确说明，不应当有耗时的操作。
 *
 *
 *  第二题为下面的代码
 */
public class FinallyDemo3 {
    public static void main(String[] args) {
        System.out.println(
                test("0")+","+test(null)+","+test("")
        );//?,?,?
    }

    public static int test(String str){
        try {
            return str.charAt(0)-'0';
        } catch (NullPointerException e) {
            return 1;
        } catch (Exception e){
            return 2;
        } finally {
            return 3;
        }
    }
}

